#include<ap_fixed.h>
#include<ap_int.h>
#include<string.h>
#include<iostream>
#define K 5
#define C0 1
#define C1 6
#define C2 16
#define C3 400
#define C4 120
#define C5 84
#define C6 10
#define N1 28
#define N2 10
using namespace std;
//(1,28,28)-->(6,28,28)-->(6,14,14)-->(16,10,10)-->(16,5,5)-->400-->120-->84-->10
typedef ap_fixed<16,6,AP_RND,AP_SAT> data_t;
typedef ap_int<64> packed_data_t;

void LeNet5(data_t* image,data_t* out,packed_data_t* fc_weight,data_t* fc_bias);
